home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / OCEStandardDirectory.p < prev    next >
Text File  |  1996-05-01  |  19KB  |  566 lines

  1. {
  2.      File:        OCEStandardDirectory.p
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT OCEStandardDirectory;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __OCESTANDARDDIRECTORY__}
  28. {$SETC __OCESTANDARDDIRECTORY__ := 1}
  29.  
  30. {$I+}
  31. {$SETC OCEStandardDirectoryIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ICONS__}
  35. {$I Icons.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __WINDOWS__}
  41. {$I Windows.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __OCE__}
  44. {$I OCE.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __OCEAUTHDIR__}
  47. {$I OCEAuthDir.p}
  48. {$ENDC}
  49.  
  50. {$PUSH}
  51. {$ALIGN MAC68K}
  52. {$LibExport+}
  53.  
  54. {$IFC FOR_SYSTEM7_ONLY }
  55. {  Collaboration Package Gestalts.  }
  56.  
  57. CONST
  58.     gestaltSDPStandardDirectoryVersion = 'sdvr';
  59.     gestaltSDPFindVersion        = 'dfnd';
  60.     gestaltSDPPromptVersion        = 'prpv';
  61.  
  62. {$ENDC}
  63. {$IFC FOR_SYSTEM7_ONLY }
  64. {  generic icon suites  }
  65.  
  66. CONST
  67.     genericDirectoryIconResource = -16721;                        {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  68.     genericLockedDirectoryIconResource = -16716;                {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  69.     genericRecordIconResource    = -16722;                        {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  70.     genericAttributeIconResource = -16723;                        {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  71.     genericTemplateIconResource    = -16746;                        {  icl8, icl4, ICN#, ics#, ics4, ics8  }
  72.  
  73. {  standard icon suites  }
  74.     directoryFolderIconResource    = -16720;                        {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  75.     lockedDirectoryFolderIconResource = -16719;                    {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  76.     personalDirectoryIconResource = -16718;                        {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  77.     directoriesIconResource        = -16717;                        {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  78.     preferredPersonalDirectoryIconResource = -16724;            {  icl8, icl4, ICN#, ics#, ics4, ics8, sicn   }
  79.  
  80. {  icon IDs for spinning arrows  }
  81.     kFirstSpinnerIcon            = -16745;
  82.     kLastSpinnerIcon            = -16738;
  83.  
  84. {  resource types  }
  85.     kSDPPanelResourceType        = 'panl';
  86.     kSDPFindPanelResourceType    = 'find';
  87.  
  88. {  Standard FindPanel resource  }
  89.     kStandardFindLayout            = -16700;
  90.  
  91. {  Prompt For Identity structures  }
  92.     kSDPGuestBit                = 0;
  93.     kSDPSpecificIdentityBit        = 1;
  94.     kSDPLocalIdentityBit        = 2;
  95.  
  96. {  Values of SDPIdentityKind  }
  97.     kSDPGuestMask                = $01;
  98.     kSDPSpecificIdentityMask    = $02;
  99.     kSDPLocalIdentityMask        = $04;
  100.  
  101.  
  102. TYPE
  103.     SDPIdentityKind                        = INTEGER;
  104.  
  105. CONST
  106.     kSDPSuggestionOnly            = 0;
  107.     kSDPRestrictToDirectory        = 1;
  108.     kSDPRestrictToRecord        = 2;
  109.  
  110.  
  111. TYPE
  112.     SDPLoginFilterKind                    = INTEGER;
  113. {  Panel Structures  }
  114. {
  115. While the panel is in operation, four selection states may exist.
  116.     1) kSDPNothingSelected means nothing is selected.
  117.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  118.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  119.     4) kSDPRecordSelected means that a record is currently selected.
  120. }
  121. {  Values of SDPSelectionState  }
  122.  
  123. CONST
  124.     kSDPNothingSelected            = 0;
  125.     kSDPLockedContainerSelected    = 1;
  126.     kSDPContainerSelected        = 2;
  127.     kSDPRecordSelected            = 3;
  128.     kSDPRecordAliasSelected        = 4;
  129.     kSDPContainerAliasSelected    = 5;
  130.  
  131.  
  132. TYPE
  133.     SDPSelectionState                    = INTEGER;
  134. {
  135. This type informs the caller of the action the user took, either as the result
  136. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  137.  
  138. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  139. state change.
  140.  
  141. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  142. record. This is returned, for example, when a user double-clicks on a record.
  143.  
  144. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  145. that no item is selected).
  146. }
  147. {  Values of SDPPanelState  }
  148.  
  149. CONST
  150.     kSDPProcessed                = 0;
  151.     kSDPSelectedAnItem            = 1;
  152.     kSDPChangedSelection        = 2;
  153.  
  154.  
  155. TYPE
  156.     SDPPanelState                        = INTEGER;
  157. {
  158. Your application may read any of the fields in a SDPPanelRecord, but it should
  159. use the appropriate routines to make changes to the records with the exception
  160. of the refCon field which your application may read or write at will.  Private
  161. information follows the SDPPanelRecord, so the handle must not be re-sized.
  162. }
  163.     SDPPanelRecordPtr = ^SDPPanelRecord;
  164.     SDPPanelRecord = RECORD
  165.         bounds:                    Rect;
  166.         visible:                BOOLEAN;
  167.         enabled:                BOOLEAN;
  168.         focused:                BOOLEAN;
  169.         padByte:                SInt8;
  170.         identity:                AuthIdentity;
  171.         refCon:                    LONGINT;
  172.         listRect:                Rect;
  173.         popupRect:                Rect;
  174.         numberOfRows:            INTEGER;
  175.         rowHeight:                INTEGER;
  176.         pabMode:                BOOLEAN;
  177.         filler1:                BOOLEAN;
  178.     END;
  179.  
  180.     SDPPanelPtr                            = ^SDPPanelRecord;
  181.     SDPPanelHandle                        = ^SDPPanelPtr;
  182.     PanelBusyProcPtr = ProcPtr;  { PROCEDURE PanelBusy(Panel: SDPPanelHandle; busy: BOOLEAN); }
  183.  
  184.     PanelBusyUPP = UniversalProcPtr;
  185.  
  186. CONST
  187.     uppPanelBusyProcInfo = $000001C0;
  188.  
  189. FUNCTION NewPanelBusyProc(userRoutine: PanelBusyProcPtr): PanelBusyUPP;
  190.     {$IFC NOT GENERATINGCFM }
  191.     INLINE $2E9F;
  192.     {$ENDC}
  193.  
  194. PROCEDURE CallPanelBusyProc(Panel: SDPPanelHandle; busy: BOOLEAN; userRoutine: PanelBusyUPP);
  195.     {$IFC NOT GENERATINGCFM}
  196.     INLINE $205F, $4E90;
  197.     {$ENDC}
  198.  
  199. TYPE
  200.     PanelBusyProc                        = PanelBusyUPP;
  201. {  Find Panel Structures  }
  202.  
  203. CONST
  204.     kSDPItemIsSelectedBit        = 0;
  205.     kSDPFindTextExistsBit        = 1;
  206.  
  207. {  Values of SDPFindPanelState  }
  208.     kSDPItemIsSelectedMask        = $01;
  209.     kSDPFindTextExistsMask        = $02;
  210.  
  211.  
  212. TYPE
  213.     SDPFindPanelState                    = INTEGER;
  214. {  Values of SDPFindPanelFocus  }
  215.  
  216. CONST
  217.     kSDPFindPanelNoFocus        = 0;
  218.     kSDPFindPanelListHasFocus    = 1;
  219.     kSDPFindPanelTextHasFocus    = 2;
  220.  
  221.  
  222. TYPE
  223.     SDPFindPanelFocus                    = INTEGER;
  224.     SDPFindPanelRecordPtr = ^SDPFindPanelRecord;
  225.     SDPFindPanelRecord = RECORD
  226.         upperLeft:                Point;
  227.         visible:                BOOLEAN;
  228.         enabled:                BOOLEAN;
  229.         nowFinding:                BOOLEAN;
  230.         padByte:                SInt8;
  231.         currentFocus:            SDPFindPanelFocus;
  232.         identity:                AuthIdentity;
  233.         simultaneousSearchCount: INTEGER;
  234.         refCon:                    LONGINT;
  235.     END;
  236.  
  237.     SDPFindPanelPtr                        = ^SDPFindPanelRecord;
  238.     SDPFindPanelHandle                    = ^SDPFindPanelPtr;
  239. {  Values of SDPFindPanelResult  }
  240.  
  241. CONST
  242.     kSDPSelectedAFindItem        = 0;
  243.     kSDPFindSelectionChanged    = 1;
  244.     kSDPFindCompleted            = 2;
  245.     kSDPTextStateChanged        = 3;
  246.     kSDPFocusChanged            = 4;
  247.     kSDPSelectionAndFocusChanged = 5;
  248.     kSDPMenuChanged                = 6;
  249.     kSDPSelectionAndMenuChanged    = 7;
  250.     kSDPProcessedFind            = 8;
  251.  
  252.  
  253. TYPE
  254.     SDPFindPanelResult                    = INTEGER;
  255.     PackedRStringListHandle                = ^PackedPathNamePtr;
  256.     FindPanelBusyProcPtr = ProcPtr;  { PROCEDURE FindPanelBusy(findPanel: SDPFindPanelHandle; busy: BOOLEAN); }
  257.  
  258.     FindPanelBusyUPP = UniversalProcPtr;
  259.  
  260. CONST
  261.     uppFindPanelBusyProcInfo = $000001C0;
  262.  
  263. FUNCTION NewFindPanelBusyProc(userRoutine: FindPanelBusyProcPtr): FindPanelBusyUPP;
  264.     {$IFC NOT GENERATINGCFM }
  265.     INLINE $2E9F;
  266.     {$ENDC}
  267.  
  268. PROCEDURE CallFindPanelBusyProc(findPanel: SDPFindPanelHandle; busy: BOOLEAN; userRoutine: FindPanelBusyUPP);
  269.     {$IFC NOT GENERATINGCFM}
  270.     INLINE $205F, $4E90;
  271.     {$ENDC}
  272.  
  273. TYPE
  274.     FindPanelBusyProc                    = FindPanelBusyUPP;
  275. {  Prompt For Identity Routines  }
  276. FUNCTION SDPPromptForID(VAR id: AuthIdentity; guestPrompt: Str255; specificIDPrompt: Str255; localIDPrompt: Str255; {CONST}VAR recordType: RString; permittedKinds: SDPIdentityKind; VAR selectedKind: SDPIdentityKind; {CONST}VAR loginFilter: RecordID; filterKind: SDPLoginFilterKind): OSErr;
  277.     {$IFC NOT GENERATINGCFM}
  278.     INLINE $203C, $0010, $0388, $AA5D;
  279.     {$ENDC}
  280. {
  281. SDPNewPanel creates a new panel. You supply the window in which the panel
  282. is to live, the bounds for the panel (which includes both the menu and the list),
  283. whether or not the panel is to be initially visible, the initial RLI (nil for
  284. catalogs and volumes), the types of records that will be shown (only a single
  285. (non-nil) type which may contain wildcards), the identity by which to browse
  286. (for access control reasons), and a refCon which is  available to the caller.
  287. }
  288. FUNCTION SDPNewPanel(VAR newPanel: SDPPanelHandle; window: WindowRef; {CONST}VAR bounds: Rect; visible: BOOLEAN; enabled: BOOLEAN; {CONST}VAR initialRLI: PackedRLI; {CONST}VAR typesList: RStringPtr; typeCount: LONGINT; identity: AuthIdentity; enumFlags: DirEnumChoices; matchTypeHow: ByteParameter; refCon: LONGINT): OSErr;
  289.     {$IFC NOT GENERATINGCFM}
  290.     INLINE $203C, $0015, $0064, $AA5D;
  291.     {$ENDC}
  292. {
  293. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  294. away if the new authentication scheme works.
  295. }
  296. FUNCTION SDPSetIdentity(panel: SDPPanelHandle; identity: AuthIdentity): OSErr;
  297.     {$IFC NOT GENERATINGCFM}
  298.     INLINE $203C, $0004, $0073, $AA5D;
  299.     {$ENDC}
  300. {
  301. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  302. 'panl' resource.
  303. }
  304. FUNCTION SDPGetNewPanel(VAR newPanel: SDPPanelHandle; resourceID: INTEGER; window: WindowRef; {CONST}VAR initialRLI: PackedRLI; identity: AuthIdentity): OSErr;
  305.     {$IFC NOT GENERATINGCFM}
  306.     INLINE $203C, $0009, $0065, $AA5D;
  307.     {$ENDC}
  308. {
  309. Call this when you're completely done with a panel. It deallocates all of the
  310. associated data structures.
  311. }
  312. FUNCTION SDPDisposePanel(panel: SDPPanelHandle): OSErr;
  313.     {$IFC NOT GENERATINGCFM}
  314.     INLINE $203C, $0002, $0066, $AA5D;
  315.     {$ENDC}
  316. {
  317. If the panel is visible, it makes it invisible by hiding the menu, turning off
  318. drawing of the list, and erasing and  invaling the list's rectangle.
  319. }
  320. FUNCTION SDPHidePanel(panel: SDPPanelHandle): OSErr;
  321.     {$IFC NOT GENERATINGCFM}
  322.     INLINE $203C, $0002, $0067, $AA5D;
  323.     {$ENDC}
  324. {  If the panel is invisible, it makes it visible and draws it.  }
  325. FUNCTION SDPShowPanel(panel: SDPPanelHandle): OSErr;
  326.     {$IFC NOT GENERATINGCFM}
  327.     INLINE $203C, $0002, $0068, $AA5D;
  328.     {$ENDC}
  329. {  Disables the list and menu so that it won't accept any commands.  }
  330. FUNCTION SDPEnablePanel(panel: SDPPanelHandle; enable: BOOLEAN): OSErr;
  331.     {$IFC NOT GENERATINGCFM}
  332.     INLINE $203C, $0003, $0069, $AA5D;
  333.     {$ENDC}
  334. {
  335. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  336. the panel's window.
  337. }
  338. FUNCTION SDPMovePanel(panel: SDPPanelHandle; h: INTEGER; v: INTEGER): OSErr;
  339.     {$IFC NOT GENERATINGCFM}
  340.     INLINE $203C, $0004, $006B, $AA5D;
  341.     {$ENDC}
  342. {
  343. Resizes the panel to have the given width and height (keeping the upper-left-hand
  344. corner in a fixed position).
  345. }
  346. FUNCTION SDPSizePanel(panel: SDPPanelHandle; width: INTEGER; height: INTEGER): OSErr;
  347.     {$IFC NOT GENERATINGCFM}
  348.     INLINE $203C, $0004, $006C, $AA5D;
  349.     {$ENDC}
  350. {
  351. This routine simulates a double-click on the selected item (if there is no selected
  352. item, then it does nothing), and it returns the result of that "double-click" via the
  353. whatHappened parameter. If a container is selected, then that container will be
  354. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  355. level in the hierarchy, then kSDPSelectedAnItem is returned.
  356. }
  357. FUNCTION SDPOpenSelectedItem(panel: SDPPanelHandle; VAR whatHappened: SDPPanelState): OSErr;
  358.     {$IFC NOT GENERATINGCFM}
  359.     INLINE $203C, $0004, $006D, $AA5D;
  360.     {$ENDC}
  361. {
  362. Returns whether a record is selected, something else is selected, or nothing is
  363. selected.
  364. }
  365. FUNCTION SDPGetPanelSelectionState(panel: SDPPanelHandle; VAR itsState: SDPSelectionState): OSErr;
  366.     {$IFC NOT GENERATINGCFM}
  367.     INLINE $203C, $0004, $006E, $AA5D;
  368.     {$ENDC}
  369. {
  370. Returns the size of the currently-selected DSSpec, or zero if a record is
  371. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  372. }
  373. FUNCTION SDPGetPanelSelectionSize(panel: SDPPanelHandle; VAR dsSpecSize: INTEGER): OSErr;
  374.     {$IFC NOT GENERATINGCFM}
  375.     INLINE $203C, $0004, $0072, $AA5D;
  376.     {$ENDC}
  377. {
  378. Returns the currently-selected DSSpec, or a zero-lengthed
  379. DSSpec if a record is not selected. It is assumed that the selection
  380. buffer allocated is large enough.
  381. }
  382. FUNCTION SDPGetPanelSelection(panel: SDPPanelHandle; VAR selection: PackedDSSpec): OSErr;
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $203C, $0004, $006F, $AA5D;
  385.     {$ENDC}
  386. {
  387. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  388. nothing.
  389. }
  390. FUNCTION SDPSetPath(panel: SDPPanelHandle; {CONST}VAR prli: PackedRLI): OSErr;
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $203C, $0004, $0070, $AA5D;
  393.     {$ENDC}
  394. {
  395. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  396. including NULL events.  If you have more than 1 panel, you will need to
  397. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  398. SDPUpdatePanel as described below.
  399. }
  400. FUNCTION SDPPanelEvent(panel: SDPPanelHandle; {CONST}VAR theEvent: EventRecord; VAR whatHappened: SDPPanelState): OSErr;
  401.     {$IFC NOT GENERATINGCFM}
  402.     INLINE $203C, $0006, $0071, $AA5D;
  403.     {$ENDC}
  404. {
  405. SDPUpdatePanel should be called in response to an update event.  Generally you will
  406. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  407. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  408. theRgn, if this is desired, you must first call SetClip.
  409. }
  410. FUNCTION SDPUpdatePanel(panel: SDPPanelHandle; theRgn: RgnHandle): OSErr;
  411.     {$IFC NOT GENERATINGCFM}
  412.     INLINE $203C, $0004, $006A, $AA5D;
  413.     {$ENDC}
  414. {
  415. SDPSelectString scrolls and selects the closest matching string at the current
  416. level.  This is the same behavior as if the user typed in the given string.
  417. }
  418. FUNCTION SDPSelectString(panel: SDPPanelHandle; {CONST}VAR name: RString): OSErr;
  419.     {$IFC NOT GENERATINGCFM}
  420.     INLINE $203C, $0004, $0074, $AA5D;
  421.     {$ENDC}
  422. {
  423. SDPGetPathLength returns the length in bytes required to hold the current path name
  424. in RLI format.  This corresponds to the path name in the popup menu.
  425. }
  426. FUNCTION SDPGetPathLength(panel: SDPPanelHandle; VAR pathNameLength: INTEGER): OSErr;
  427.     {$IFC NOT GENERATINGCFM}
  428.     INLINE $203C, $0004, $0075, $AA5D;
  429.     {$ENDC}
  430. {  SDPGetPath returns the current rli.  }
  431. FUNCTION SDPGetPath(panel: SDPPanelHandle; VAR prli: PackedRLI; VAR dsRefNum: INTEGER): OSErr;
  432.     {$IFC NOT GENERATINGCFM}
  433.     INLINE $203C, $0006, $0076, $AA5D;
  434.     {$ENDC}
  435. {
  436. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  437. the focus boolean.
  438. }
  439. FUNCTION SDPSetFocus(panel: SDPPanelHandle; focus: BOOLEAN): OSErr;
  440.     {$IFC NOT GENERATINGCFM}
  441.     INLINE $203C, $0003, $0077, $AA5D;
  442.     {$ENDC}
  443. {
  444. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  445. balloon help.  Balloon help is unavailable until this call is made.
  446. }
  447. FUNCTION SDPSetPanelBalloonHelp(panel: SDPPanelHandle; balloonHelpID: INTEGER): OSErr;
  448.     {$IFC NOT GENERATINGCFM}
  449.     INLINE $203C, $0003, $0078, $AA5D;
  450.     {$ENDC}
  451. {
  452. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  453. the panel is aynchronously busy.
  454. }
  455. FUNCTION SDPInstallPanelBusyProc(panel: SDPPanelHandle; busyProc: PanelBusyProc): OSErr;
  456.     {$IFC NOT GENERATINGCFM}
  457.     INLINE $203C, $0004, $0079, $AA5D;
  458.     {$ENDC}
  459. FUNCTION SDPNewFindPanel(VAR newPanel: SDPFindPanelHandle; window: WindowRef; upperLeft: Point; layoutResourceID: INTEGER; visible: BOOLEAN; enabled: BOOLEAN; {CONST}VAR typesList: RStringPtr; typeCount: LONGINT; matchTypeHow: ByteParameter; identity: AuthIdentity; simultaneousSearchCount: INTEGER; initialFocus: SDPFindPanelFocus; refCon: LONGINT): OSErr;
  460.     {$IFC NOT GENERATINGCFM}
  461.     INLINE $203C, $0014, $08FC, $AA5D;
  462.     {$ENDC}
  463. FUNCTION SDPDisposeFindPanel(findPanel: SDPFindPanelHandle): OSErr;
  464.     {$IFC NOT GENERATINGCFM}
  465.     INLINE $203C, $0002, $08FD, $AA5D;
  466.     {$ENDC}
  467. FUNCTION SDPStartFind(findPanel: SDPFindPanelHandle): OSErr;
  468.     {$IFC NOT GENERATINGCFM}
  469.     INLINE $203C, $0002, $08FE, $AA5D;
  470.     {$ENDC}
  471. FUNCTION SDPStopFind(findPanel: SDPFindPanelHandle): OSErr;
  472.     {$IFC NOT GENERATINGCFM}
  473.     INLINE $203C, $0002, $08FF, $AA5D;
  474.     {$ENDC}
  475. FUNCTION SDPFindPanelEvent(findPanel: SDPFindPanelHandle; {CONST}VAR event: EventRecord; VAR whatHappened: SDPFindPanelResult): OSErr;
  476.     {$IFC NOT GENERATINGCFM}
  477.     INLINE $203C, $0006, $0900, $AA5D;
  478.     {$ENDC}
  479. FUNCTION SDPUpdateFindPanel(findPanel: SDPFindPanelHandle; theRgn: RgnHandle): OSErr;
  480.     {$IFC NOT GENERATINGCFM}
  481.     INLINE $203C, $0004, $0901, $AA5D;
  482.     {$ENDC}
  483. FUNCTION SDPShowFindPanel(findPanel: SDPFindPanelHandle): OSErr;
  484.     {$IFC NOT GENERATINGCFM}
  485.     INLINE $203C, $0002, $0902, $AA5D;
  486.     {$ENDC}
  487. FUNCTION SDPHideFindPanel(findPanel: SDPFindPanelHandle): OSErr;
  488.     {$IFC NOT GENERATINGCFM}
  489.     INLINE $203C, $0002, $0903, $AA5D;
  490.     {$ENDC}
  491. FUNCTION SDPMoveFindPanel(findPanel: SDPFindPanelHandle; h: INTEGER; v: INTEGER): OSErr;
  492.     {$IFC NOT GENERATINGCFM}
  493.     INLINE $203C, $0004, $0904, $AA5D;
  494.     {$ENDC}
  495. FUNCTION SDPEnableFindPanel(findPanel: SDPFindPanelHandle; enabled: BOOLEAN): OSErr;
  496.     {$IFC NOT GENERATINGCFM}
  497.     INLINE $203C, $0003, $0905, $AA5D;
  498.     {$ENDC}
  499. FUNCTION SDPSetFindPanelFocus(findPanel: SDPFindPanelHandle; newFocus: SDPFindPanelFocus): OSErr;
  500.     {$IFC NOT GENERATINGCFM}
  501.     INLINE $203C, $0003, $0906, $AA5D;
  502.     {$ENDC}
  503. FUNCTION SDPGetFindPanelState(findPanel: SDPFindPanelHandle; VAR itsState: SDPFindPanelState): OSErr;
  504.     {$IFC NOT GENERATINGCFM}
  505.     INLINE $203C, $0004, $0907, $AA5D;
  506.     {$ENDC}
  507. FUNCTION SDPGetFindPanelSelectionSize(findPanel: SDPFindPanelHandle; VAR size: INTEGER): OSErr;
  508.     {$IFC NOT GENERATINGCFM}
  509.     INLINE $203C, $0004, $0908, $AA5D;
  510.     {$ENDC}
  511. FUNCTION SDPGetFindPanelSelection(findPanel: SDPFindPanelHandle; VAR selection: PackedDSSpec): OSErr;
  512.     {$IFC NOT GENERATINGCFM}
  513.     INLINE $203C, $0004, $0909, $AA5D;
  514.     {$ENDC}
  515. FUNCTION SDPSetFindPanelBalloonHelp(findPanel: SDPFindPanelHandle; balloonHelpID: INTEGER): OSErr;
  516.     {$IFC NOT GENERATINGCFM}
  517.     INLINE $203C, $0003, $090A, $AA5D;
  518.     {$ENDC}
  519. FUNCTION SDPSetFindIdentity(findPanel: SDPFindPanelHandle; identity: AuthIdentity): OSErr;
  520.     {$IFC NOT GENERATINGCFM}
  521.     INLINE $203C, $0004, $090B, $AA5D;
  522.     {$ENDC}
  523. FUNCTION SDPInstallFindPanelBusyProc(findPanel: SDPFindPanelHandle; busyProc: FindPanelBusyProc): OSErr;
  524.     {$IFC NOT GENERATINGCFM}
  525.     INLINE $203C, $0004, $090C, $AA5D;
  526.     {$ENDC}
  527. FUNCTION SDPGetIconByType({CONST}VAR recordType: RString; whichIcons: IconSelectorValue; VAR iconSuite: Handle): OSErr;
  528.     {$IFC NOT GENERATINGCFM}
  529.     INLINE $303C, $0400, $AA5C;
  530.     {$ENDC}
  531. FUNCTION SDPGetDSSpecIcon({CONST}VAR packedDSSpec: PackedDSSpec; whichIcons: IconSelectorValue; VAR iconSuite: Handle): OSErr;
  532.     {$IFC NOT GENERATINGCFM}
  533.     INLINE $303C, $0401, $AA5C;
  534.     {$ENDC}
  535. FUNCTION SDPGetCategories(VAR categories: PackedRStringListHandle; VAR displayNames: PackedRStringListHandle): OSErr;
  536.     {$IFC NOT GENERATINGCFM}
  537.     INLINE $303C, $0402, $AA5C;
  538.     {$ENDC}
  539. FUNCTION SDPGetCategoryTypes({CONST}VAR category: RString; VAR types: PackedRStringListHandle): OSErr;
  540.     {$IFC NOT GENERATINGCFM}
  541.     INLINE $303C, $0403, $AA5C;
  542.     {$ENDC}
  543. FUNCTION SDPResolveAliasFile(fileSpec: FSSpecPtr; resolvedDSSpec: PackedDSSpecHandle; identity: AuthIdentity; mayPromptUser: BOOLEAN): OSErr;
  544.     {$IFC NOT GENERATINGCFM}
  545.     INLINE $203C, $0007, $0E74, $AA5D;
  546.     {$ENDC}
  547. FUNCTION SDPResolveAliasDSSpec(theAliasDSSpec: PackedDSSpecHandle; identity: AuthIdentity; mayPromptUser: BOOLEAN): OSErr;
  548.     {$IFC NOT GENERATINGCFM}
  549.     INLINE $203C, $0005, $0E75, $AA5D;
  550.     {$ENDC}
  551. FUNCTION SDPRepairPersonalDirectory(VAR pd: FSSpec; showProgress: BOOLEAN): OSErr;
  552.     {$IFC NOT GENERATINGCFM}
  553.     INLINE $203C, $0003, $1A2C, $AA5D;
  554.     {$ENDC}
  555. {$ENDC}
  556. {$ALIGN RESET}
  557. {$POP}
  558.  
  559. {$SETC UsingIncludes := OCEStandardDirectoryIncludes}
  560.  
  561. {$ENDC} {__OCESTANDARDDIRECTORY__}
  562.  
  563. {$IFC NOT UsingIncludes}
  564.  END.
  565. {$ENDC}
  566.